#!/bin/bash
#
# SPDX-License-Identifier: GPL-2.0-only
#
# Copyright (C) 2019 Francis Deslauriers <francis.deslauriers@efficios.com>
#

# This file tests what happens when we mux messages.

SH_TAP=1

if [ "x${BT_TESTS_SRCDIR:-}" != "x" ]; then
	UTILSSH="$BT_TESTS_SRCDIR/utils/utils.sh"
else
	UTILSSH="$(dirname "$0")/../../../utils/utils.sh"
fi

# shellcheck source=../../../utils/utils.sh
source "$UTILSSH"

data_dir="$BT_TESTS_DATADIR/plugins/flt.utils.muxer"

plan_tests 12

function run_test
{
	local test_name="$1"
	local local_args=(
		"--plugin-path" "$data_dir"
		"-c" "src.test-muxer.TheSourceOfConfusion"
		"-p" "test-name=$test_name"
		"-c" "sink.text.details"
		"--params=compact=false,with-metadata=false"
	)

	stdout_expected="$data_dir/succeed/$test_name.expect"
	bt_diff_cli "$stdout_expected" /dev/null "${local_args[@]}"
	ok $? "$test_name"
}


test_cases=(
	basic_timestamp_ordering
	diff_event_class_id
	diff_event_class_name
	diff_inactivity_msg_cs
	diff_stream_class_id
	diff_stream_class_name
	diff_stream_class_no_name
	diff_stream_id
	diff_stream_name
	diff_stream_no_name
	diff_trace_name
	multi_iter_ordering
)

for i in "${test_cases[@]}"
do
	run_test "$i"
done
